Compressed Abstract Syntax Trees for Mobile Code
نویسندگان
چکیده
Abstract syntax trees (ASTs) have numerous advantages as a mobile code format over the more commonly used bytecode-based formats. Not only are ASTs portable, inherently safer, and more suitable for optimization, but we show that they also compress more densely. We have developed a prototype framework for AST compression, which we have used to compress Java programs. Our generic implementation reduces the size of regular Java archives by a factor of 3 to 8 and improves on the best published Java-specific compression scheme by 5–50%.syntax trees (ASTs) have numerous advantages as a mobile code format over the more commonly used bytecode-based formats. Not only are ASTs portable, inherently safer, and more suitable for optimization, but we show that they also compress more densely. We have developed a prototype framework for AST compression, which we have used to compress Java programs. Our generic implementation reduces the size of regular Java archives by a factor of 3 to 8 and improves on the best published Java-specific compression scheme by 5–50%.
منابع مشابه
Generic Adaptive Syntax-Directed Compression for Mobile Code
We propose a new scheme for compressing mobile programs. Our proposal is meant as part of a larger infrastructure for code distribution and deployment. In this paper we show how to effectively compress programs on the source level by compressing abstract syntax trees (ASTs) which are equivalent to source code (modulo comments and layout). We compress ASTs by adapting the wellknown PPM (predicti...
متن کاملAutomatic Inference of Translation Rules for Native Cross-Platform Mobile Applications
ABSTRACT A native cross-platform mobile app has multiple platform-specic implementations. Typically, an app is developed for one platform and then ported to the remaining ones. Translating an app from one language (e.g., Java) to another (e.g., Swi) by hand is tedious and error-prone, while automated translators either require manually dened translation rules or focus on translating APIs. To...
متن کاملTowards Language-Agnostic Mobile Code
The Java Virtual Machine is primarily designed for transporting Java programs. As a consequence, when JVM bytecodes are used to transport programs in other languages, the result becomes less acceptable the more the source language diverges from Java. Microsoft’s .NET transport format fares better in this respect because it has a more flexible type system and instruction set, but it is not exten...
متن کاملAdaptive Compression of Syntax Trees and Iterative Dynamic Code Optimization: Two Basic Technologies for Mobile Object Systems
We are designing and implementing a flexible infrastructure for mobile-object systems. Two fundamental innovations distinguish our architecture from other proposed solutions. First, our representation of mobile code is based on adaptive compression of syntax trees. Not only is this representation more than twice as dense as Java byte-codes, but it also encodes semantic information on a much hig...
متن کاملAbstract Syntax Networks for Code Generation and Semantic Parsing
Tasks like code generation and semantic parsing require mapping unstructured (or partially structured) inputs to well-formed, executable outputs. We introduce abstract syntax networks, a modeling framework for these problems. The outputs are represented as abstract syntax trees (ASTs) and constructed by a decoder with a dynamically-determined modular structure paralleling the structure of the o...
متن کامل